cookie-parser

✒️ 2025-05-26 14:17 내용 수정

Node.js 교과서 개정 3판 내용 정리


npm i cookie-parser
옵션 설명
expires 쿠키의 만료 기한을 날짜로 설정. 만료기한이 지나면 쿠키는 제거되며, 기본은 클라이언트 종료때까지.
path 쿠키 경로 설정, 기본값은 "/"
maxAge expire와 비슷하게 쿠키의 만료 기한을 초 단위로 설정
domain 쿠키가 전송될 도메인을 특정할 수 있음. 기본값은 '/'
httpOnly true로 설정 시 클라이언트에서 쿠키에 접근 불가
secure true로 설정 시 Https일 때만 쿠키 전송
signed true로 설정 시 cookie 뒤에 서명 추가
const cookieParser = require('cookie-parser');

// 서명된 쿠키의 경우 비밀키로 서버에서 만들어진 쿠키임을 검증가능
// 서명 비밀 키는 process.env.COOKIE_SECRET 사용
app.use(cookieParser(process.env.COOKIE_SECRET)); 

// 쿠키 생성하기
res.cookie('cookieName', 'cookieValue', { // 쿠키명, 쿠키값, 옵션을 파라미터로 전달
	expires : new Date(Date.now() + 10), // 만료 기한 설정
	httpOnly : true, // 웹 서버에서만 쿠키 접근 허용 설정
	secure : true, // https에서만 쿠키 사용 허용
	signed : true
});

// 쿠키 제거하기
// 쿠키 제거 시엔 expires나 maxAge를 제외한 나머지 옵션이 정확히 일치해야 함
res.clearCookie('cookieName', 'cookieValue', {
	httpOnly: true, 
	secure: true,
	signed : true
})

서버에서 쿠키 확인

// 일반 쿠키
let cookie = req.cookies;
console.log(cookie);
// 서명된 쿠키
let signedCookie = req.signedCookies;
console.log(signedCookie);